What is Reflection in Java